package com.smart.service.system;

import cn.hutool.core.date.DateTime;
import com.smart.mybatis.service.BaseService;
import com.smart.entity.system.JwznBusinessDataEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * final Service
 *
 * @author wf
 * @since 2025-04-30 11:30:33
 */
public interface JwznBusinessDataService extends BaseService<JwznBusinessDataEntity> {

    List<Map<String, Integer>> getNameCountMap();




//    /**
//     * 根据点位名称和时间范围获取耗电量
//     * @param name 点位名称
//     * @param start 开始时间
//     * @param end 结束时间
//     * @return 耗电量
//     */
//    Double getConsumptionByNameAndTimeRange(String name, Date start, Date end);

    List<Map<String, Integer>> getNameConsumeMap(DateTime startTime, DateTime endTime);

    /**
     * 获取一天的折线图数据
     * @param name 电表名称
     * @param date 日期
     * @return 折线图数据
     */
    List<Map<String, Object>> getDailyLineChartData(String name, Date date);
    
    /**
     * 获取一周的折线图数据
     * @param name 电表名称
     * @param startDate 开始日期
     * @return 折线图数据
     */
    List<Map<String, Object>> getWeeklyLineChartData(String name, Date startDate);
    
    /**
     * 获取一月的折线图数据
     * @param name 电表名称
     * @param startDate 开始日期
     * @return 折线图数据
     */
    List<Map<String, Object>> getMonthlyLineChartData(String name, Date startDate);

}

